package com.avo.ramcache.orm;

import java.util.List;

public interface Querier {

    <T> List<T> all(Class<T> clz);

    <T> List<T> allByServer(int server, Class<T> clz);

    <T> List<T> listAll(Class<T> clz, String queryname, Object... params);

    <T> List<T> listCommon(Class<T> clz, String queryname, Object... params);

    <T> List<T> listByServer(int server, Class<T> clz, String queryname, Object[] querynameParams);

    <T> List<T> listByServerWithLimit(int server, int limit, Class<T> clz, String queryname, Object[] querynameParams);

    <T> T unique(Class<T> clz, String queryname, Object... params);

    <T> T unique(int server, Class<T> clz, String queryname, Object... params);

    void executeByServer(int server, String queryname, Object[] params);
}
